package cn.itcast.dao.system;

import cn.itcast.domain.system.Module;

import java.util.List;

public interface ModuleDao {
    /**
     * 查询所有的模块
     */
    List<Module> findAll();


    /**
     *根据模块id（module_id）查询一条模块数据
     */
    Module findById(String moduleId);


    /**
     *添加模块信息
     */
    void save(Module module);


    /**
     *修改模块信息
     */
    void update(Module module);

    


    /**
     *删除模块信息
     */
    void delete(String moduleId);


    /**
     *通过角色查询权限列表
     */
    List<Module> findModuleByRoleId(String rouId);


    /**
     *解除角色权限关系
     */
    void deleteRoleModuleByRoleId(String roleId);



    /**
     *给角色分配权限
     */
    void saveRoleModule(String roleId, String moduleId);


    //动态显示菜单数据（一）根据属性belong(归属)查询权限（模块）
    List<Module> findModuleByBelong(int userId);

    //动态显示菜单数据（二）根据用户id查询拥有的权限
    List<Module> findModuleByUserId(String userId);
}
